1. Technical Field
The present invention relates in general to improved computer networks, and in particular to an improved network processor architecture. Still more particularly, the present invention relates to an improved distributed network processor architecture that supports individualized network processor services that are platform and operating system independent.
2. Background of the Invention
FIG. 1A shows a block diagram of a general communications network. The communications network includes switch (or router) 10 connected through a simple multiplex device (multiplexer) 11 to several workstations 13. Switch 10 is also connected to a control point 12, Internet 14 or some other form of Wide Area Network (WAN) 16, server 18, and a Local Area Network (LAN) 20. LAN 20 can be configured with an ethernet, token-ring or any other type of architecture, which might include many additional workstations. Those skilled in the art will understand that a great variety of combinations of such elements is possible in permutations of FIG. 1. In particular, some elements could be duplicated and others deleted. Multiplexer 11 is a conventional off-the-shelf device that selects one of the plurality of attached workstations and allows it to communicate with the switch. Control point 12 provides the interface between the switch 10 and a network administrator. Control point 12 may include a computer comprising a keyboard, control unit, display, etc.
Communications networks are continually evolving due to the growing demand for networks with larger bandwidth, lower latency and greater flexibility. Many limitations exist in traditional networks. For example, networks designed with custom design chips, which carry out specific network applications, are not easily adaptable and are unable to keep up with the constantly evolving requirements for improved technology. Network changes occurs constantly, while fabrication of each custom design chip typically takes several months. Also, networks implemented with general purpose processors are limited in performance by the speed of the processor.
Distributed network systems created with a network processor services architecture are quickly becoming the standard for routing information throughout both Intranet and Internet networks. FIG. 1B illustrates a typical network processor services architecture. Control processor 101, which may be synonymous with control point 12 of FIG. 1A, directs most of the processes of the system. Control processor 101 is coupled to a plurality of network processors 103 presented as distributed parallel network processors 103. Network processors 103 are specialized processor chips designed to process networking applications in real time. These processor chips are initialized and configured by the general purpose processors or control processor 101.
Network processor 103 receives frames, modifies them, and provides media interface for transmitting the frames out to switch fabric 105 or to control processor 101. Network processors 103 are designed to optimize network-specific tasks and provide exceptional bandwidth, throughput and distributed processing capabilities, while reducing latency. Network processors 103 receive and forward packets during network communication. The packets are routed via the network processor 103 on layers 2, 3, and 4 of network protocols. Network processors 103 and switch fabric 105 may exist as components of switch/router 10 illustrated in FIG. 1A. Network processors 103 read the addresses of the packets, translate the addresses based on protocol and route the packets to their correct destination. Switch fabric 105 allows interconnection of multiple network processors in a system.
Control processor 101 contains a high level intelligent protocol for controlling the flow of IP packets in the system. Control processor 101 is responsible for activating network processors 103. Control processor 101 also provides network processors 103 with address information, that identifies the destination of the frames. Network processor 103 has one or more multiple look-up tables, which it consults when a packet arrives to determine a forwarding destination for the packet.
While the use of a network processor architecture offers a flexile solution that helps to maximize bandwidth utilization and traffic flow, use of the architecture can be limited to specific processor types and operating systems. Presently, communications within the network processors architecture is processor and OS dependent. The network processor and control processor are tightly coupled with specific device drivers which operate as a unified functional block that is designed to interact with a particular processor hardware type and operating system.
The present invention recognizes that more flexible processor model of network processor products is desired. A network processor services architecture, which was capable of being implemented in a hardware and operating system independent manner would be a welcomed improvement. It would be further desirable if such a processor architecture was expandable to include other functional components, which may be customer specific or developer specific. These and other benefits are achieved by the present invention.